package com.yunyao.framework.vo.system;

import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author chenyejian
 * @date 2024-07-16
 */
@Data
public class MenuVO implements Serializable {
    private static final long serialVersionUID = 8123025132641595045L;

    /**
     * 菜单主键
     */
    private String id;

    /**
     * 父级菜单
     */
    private String parentId;

    /**
     * 菜单编号
     */
    @JSONField(name = "name")
    private String name;

    /**
     * 菜单名称 转为json的时候处理成 meta:{title:name}
     */

    @JSONField(name = "meta")
    private Meta meta;

    /**
     * 菜单别名
     */
    private String alias;

    /**
     * 请求地址
     */
    @JSONField(name = "path")
    private String path;

    /**
     * 菜单资源
     */
//    private String source;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 菜单类型
     */
    private Integer category;

    /**
     * 操作按钮类型
     */
    private Integer action;

    /**
     * 是否打开新页面
     */
    private Integer isOpen;

    /**
     * 备注
     */
    private String remark;

    /**
     * 平台类型 1=PC,2=移动端(含小程序)
     */
//    private String platformType;

    /**
     * 子节点
     */
    @JSONField(name = "children")
    private List<MenuVO> children;
}
